SCREEN _NEWIMAGE(128, 128,14)
sub PUTSTRING(s$, x%, y%)
' ⎺⎺⎺⎺⎺⎺⎺⎺⎺
for c = 1 to len(s$)
sc$ = MID$(s$, c, 1)
this$ = _GETCHR$(ASC(sc$))
for yi = 0 to 7
for xi = 0 to 7
IF MID$(this$, (xi + yi*8) + 1, 1) = "X" THEN PSET (x% + xi + (c-1)*8, y% + yi)
next xi
next yi
next c
end sub
_LETCHR$(0, "........" + "........" + "...XX..." + "..XXXX.." + "..XXXX.." + "...XX..." + "........" + "........" )
_LETCHR$(1, "........" + "........" + "........" + "...XX..." + "...XX..." + "........" + "........" + "........" )
_LETCHR$(2, STRING$(64, "X"))
DiceBack$ = STRING$(3,CHR$(2))
DO
FOR val% = 1 TO 6
x% = 5 : y% = 5
COLOR 63 : GOSUB 🔲SetDieFrame
COLOR 1 : GOSUB ⭕SetPitEdges
COLOR 3 : GOSUB 🔴SetPits
_DELAY 1
NEXT val%
LOOP
END
🔲SetDieFrame:
PutString( DiceBack$, x%, y%)
PutString( DiceBack$, x%, y% + 8)
PutString( DiceBack$, x%, y% + 16)
RETURN
FUNCTION Line1$(c%)
temp$ = ""
IF val% > 3 then temp$ = CHR$(c%) ELSE temp$ = " "
IF val% > 1 then temp$ = temp$ + " " + CHR$(c%)
Line1$ = temp$
END FUNCTION
FUNCTION Line2$(c%)
temp$ = ""
IF val% mod 2 = 1 THEN temp$ = " " + CHR$(c%) + " "
IF val% = 6 THEN temp$ = CHR$(c%) + " " + CHR$(c%)
Line2$ = temp$
END FUNCTION
FUNCTION Line3$(c%)
temp$ = ""
IF val% > 1 THEN temp$ = CHR$(c%) ELSE temp$ = " "
IF val% > 3 THEN temp$ = temp$ + " " + CHR$(c%)
Line3$ = temp$
END FUNCTION
⭕SetPitEdges:
PutString( Line1$(0), x%, y%)
PutString( Line2$(0), x%, y% + 8)
PutString( Line3$(0), x%, y% + 16)
RETURN
🔴SetPits:
PutString( Line1$(1), x%, y%)
PutString( Line2$(1), x%, y% + 8)
PutString( Line3$(1), x%, y% + 16)
RETURN